AWS Certified Solution Architect Associate之旅的第一站,我們首先來看看IAM服務。
IAM是Identity and Access Management縮寫,提供我們使用者一套更具備安全性和彈性的雲端資源控管機制。我們可以按照任務所需,去指派所需要的雲端資源取得權限和方式,而不必去使用Root Account。這邊Root Account是指我們第一次使用AWS雲端服務時所開的帳號,此帳號擁有最高的權限,能取得任何AWS上的雲端資源和服務。因此,若使用Root Account去做僅需要部份雲端資源的服務時,我們會面臨到其他服務被意外竊取的高額機會成本。
這邊透過下面的表格說明IAM的整體架構(因為考照是英文出題,以下會盡量以英文去標示關鍵字詞。)首先,Policy讓我們可以定義多少資源,需要釋放給特定任務做使用。Policy定義完後,將指派給IAM Group下的User或者是Role,讓IAM Group下的User或者Role可以按照這個Policy,去享有特定的雲端資源服務。至於IAM Group User和Role差別,IAM Group User可以看做我們要提供多少AWS雲端服務,給其他系統開發者,也就是從人的角度去看;而IAM Role的話,則是讓我們內部本身的AWS雲端資源,可以相互取得串通,也就是從雲端資源角度去看,例如某台雲端機器可以享有其他的雲端儲存資源。
我們編寫IAM Policy時,須留意到Policy是在JSON格式中,由effect, principal, condition, action 以及 resource組成。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
IAM有以下幾項特點: